home *** CD-ROM | disk | FTP | other *** search
- Starting with the iPod Classics and the Video Nanos, libgpod needs an
- additional configuration step to correctly modify the iPod content. libgpod
- needs to know the so-called iPod "firewire id", otherwise the iPod won't
- recognize what libgpod wrote to it and will behave as if it's empty.
-
- There are several ways to set up an iPod so libgpod can find its firewire id.
-
- The preferred method is automatic. Make sure you have hal and libsgutils
- installed before running configure/autogen.sh. If you built libgpod without
- them, run configure/make/make install after you install them.
-
- A hal callout and .fdi file will be built and installed. This will query an
- iPod when it is plugged in and save the SysInfoExtended file in the proper
- place. This should be entirely automatic. If you have trouble with this, see
- the TROUBLESHOOTING file for some hints.
-
- If you build with libsgutils but without hal, the next best method is mostly
- automatic. You should have an ipod-read-sysinfo-extended tool available. Run
- it with the iPod device path and the iPod mount point /mnt/ipod) as arguments.
- For example:
-
- $ ipod-read-sysinfo-extended /dev/sda /mnt/ipod
-
- This may require root privileges. It reads an XML file from the iPod and
- writes it as /mnt/ipod/iPod_Control/Device/SysInfoExtended. More details on
- this method can be found at http://ipodlinux.org/Device_Information.
-
- Having the SysInfoExtended file created by ipod-read-sysinfo-extended or the
- hal callout is enough for libgpod to figure out the iPod firewire id.
-
- The last method requires more manual intervention. First, you need to
- determine the firewire id of the iPod. To do that on Linux, plug in the iPod
- in and run (with root privileges):
-
- $ lsusb -v | grep -i Serial
-
- This should print a 16 character long string like 00A1234567891231. For an
- iPod Touch, this number will be much longer than 16 characters, the firewire
- ID is constituted by the first 16 characters.
-
- On FreeBSD, there is a tool to get the serial number at:
-
- http://50hz.ws/dev/getserial.c
-
- Once you have the serial number, edit /mnt/ipod/iPod_Control/Device/SysInfo,
- creating the file if it does not exist. (Replace /mnt/ipod with the path to
- where the iPod is mounted). Add a line like this to the SysInfo file:
-
- FirewireGuid: 0xffffffffffffffff
-
- Replace ffffffffffffffff with the serial number you obtained in the previous
- step. Don't forget the 0x before the string. After you add the FirewireGuid to
- the SysInfo file you need to rewrite the iTunesDB for the change to take
- effect. For example, add a new song or adjust the playcount of an existing
- song and save the changes in gtkpod.
-
- Be careful when using applications which let you manually specify the iPod
- model. They may overwrite the SysInfo file and undo the changes.
-
- Finally, if you compiled libgpod from source, you can test that libgpod can
- find the firewire ID on the iPod using the test-firewire-id program in the
- tests/ dir of the libgpod source. For example:
-
- $ cd ~/src/libgpod/tests
- $ ./test-firewire-id /ipod/mount/point
-